package com.ftg.learn.chapter01;


/**
 * @author kangjx
 * @createTime 2022/12/8
 */
public class DataStruct {

//    2 7 -1
//
//    2 15 -1
//
//    2 31 -1
//
//    2 63 -1
    //类内部的变量 : 全局变量
    int age = 23;

    public void test1(){
        //方法 内部的变量 : 局部变量  私有变量
        age = 45;
    }

    public static void main(String[] args) {
        System.out.println("\\u12");
        /**
         * 变量定义的规范
         */
//        [数据类型] [标识符] [=] [值];

        /**
         * 数组的基础格式
         * 当前数据类型的值有多个
         */
//        [数据类型[]] [标识符] [=] [new] [数据类型[长度]];
          // 标识符[下标{下标从0开始小于长度减1}] = 值;
        int[] intArr = new int[2];
        byte byte1 = 1;
        intArr[0] =23;
        intArr[1] = 45;

        //数据类型的表述范围
//        定义方式
//        八股文
//        long 标识符 = 大于int最大表述范围 一定添加大写L 小于int最大表述范围 不用作处理,或者添加L也可以

        byte byte2 = -128;
        byte byte3 = 127;

        short short1 = -1234;
        short short2 = 32767;

        int int1 = 123;
        int int2 = 999999999;
        //java语言当中所有 整数默认为int
        long long1 = 9999999999L;
        long long2 = 2;
        // =  右面小于等号左面的
        // 类型转换  宽转  窄转   =  号的功能  (类型转换   什么情况要强制转换 自动转换)

//        运算符  赋值运算符
//        [左侧] = [右侧]
        //声明一个变量 标识符 类型为数据类型 值为值
//        [数据类型]  {标识符}  =  值;
        //二次为标识符 赋值
//        {标识符}  =  值;
//        第一点 ： 左右两端类型一致
        int a = 9;

//        类型不一致
//        转换不了
        //把一个大的类型转换成为一个小的类型，我们把它叫窄转，不是自动完成  强制类型转换 (类型)
        int b = (int)3.4f;  //double 不能直接转换成为int 所以我们可以使用科技与狠活 强制类型转换
        long aLong=(long)3.14F;
        byte c = 23;
        int cInt = c;
        //byte 范围 小int 所以在java小类型byte可以自动转换成为int [宽转]

        float float1 = 23;
        float float2 = 23.4F;

        double double1 = 23.45;
        double double2 = 999999999999L;

        System.out.println(2.0 - 1.1);

        boolean t = true;
        boolean f = false;

//        char c = 'a';
        //声明类型char 变量c1的值为 中
        char c1 = '中';
        char c2 = '%';
        //为变量 c1重新赋值为'国'
        c1 = '国';
        System.out.println(c1);

        //常量 : 就是在变量 前面 final修饰符
        final int aInt1 = 34;

        // 引用类  Math

        /**
         * math 数学 帮助 类
         * java  Math
         */
//        Math.random();  生成一个double类型的小数 [0,1) >=0 <1
//            0.0 - 0.9 * 10 (0 - 9)
        final int n = (int)(Math.random() * 10);
        System.out.println( n );

        float f1 = Long.MAX_VALUE;
        System.out.println(f1);

        int charInt = 'a';
        System.out.println(charInt);
        int num = Integer.MAX_VALUE;

        long aLong1 = 0xfffL;
//        String string1 = "on" + 'one';
       // 二 八 16转换成10

        //Ascii码

        // 0 1 2 进一  二进制
        // 10 十进制
        // 8  八进制
        // 16 十六进制  0 1 2 3 4 5 6 7 8 9 a b c d e f
        byte b2 = (byte)130;  // 127
        System.out.println(b2);
    }

    // 行注释
    /* 块注释
     */

    /**
     * javadoc
     */


}
